<?php
$GLOBALS['START_AT'] = microtime(true);
$GLOBALS['START_MEM'] = memory_get_usage(true);
#PumPHP框架目录
if (!defined('PUMP_DIR'))           define('PUMP_DIR',      dirname(__FILE__));
#框架核心类库文件目录
if (!defined('PUMP_CORE'))          define('PUMP_CORE',     PUMP_DIR . '/Core');
#站点根目录
if (!defined('WEBROOT_DIR'))        define('WEBROOT_DIR',      dirname($_SERVER['SCRIPT_FILENAME']));
#站点域名
if (!defined('APP_DOMAIN'))         define('APP_DOMAIN',    $_SERVER['HTTP_HOST']);
#第三方类库目录
if (!defined('THIRD_CLASS_DIR'))    define('THIRD_CLASS_DIR',PUMP_DIR . '/Third');
#应用程序目录
if (!defined('WEBLIB_DIR'))         define('WEBLIB_DIR',    WEBROOT_DIR . '/WebLib');
#控制器目录
if (!defined('ACTION_DIR'))         define('ACTION_DIR',    WEBLIB_DIR . '/Action');
#用户自定义配置文件目录
if (!defined('USER_CONF_DIR'))      define('USER_CONF_DIR', WEBLIB_DIR . '/Config');
#值对象存放目录
if (!defined('CLASS_PATH'))         define('CLASS_PATH',    WEBLIB_DIR . '/Class');
#用户表结构存放目录
if (!defined('TABLE_DIR'))          define('TABLE_DIR',     WEBLIB_DIR . '/Tables');
#模板目录
if (!defined('TPL_DIR'))            define('TPL_DIR',       WEBLIB_DIR . '/Template');
#运行时目录，此目录数据可任意删除
if (!defined('RUNTIME_DIR'))        define('RUNTIME_DIR',   WEBLIB_DIR . '/Runtime');
#临时文件目录
if (!defined('TMP_DIR'))            define('TMP_DIR',       RUNTIME_DIR . '/Temp');
#数据缓存目录
if (!defined('DATA_DIR'))           define('DATA_DIR',      RUNTIME_DIR . '/Data');
#session使用缓存驱动时，且使用文件缓存时，SESSION存放目录
if (!defined('SESS_DIR'))           define('SESS_DIR',      RUNTIME_DIR . '/Session');
#应用程序配置文件
if (!defined('APPCONF_FILE'))       define('APPCONF_FILE',  WEBLIB_DIR . '/Config.php');
#用户自定义函数文件
if (!defined('APPFUNC_FILE'))       define('APPFUNC_FILE',  WEBLIB_DIR . '/Functions.php');
#用户自定义常量文件
if (!defined('APPCONST_FILE'))      define('APPCONST_FILE', WEBLIB_DIR . '/Const.php');
#默认连接名称
if (!defined('DEFAULT_CONN'))       define('DEFAULT_CONN',  'DEFAULT');
#URL模式定义
if (!defined('URL_NORMAL'))         define('URL_NORMAL',    1);
if (!defined('URL_PATHINFO'))       define('URL_PATHINFO',  2);
#数据表前缀常量
if (!defined('PUMP_TABLE_PREFIX'))  define('PUMP_TABLE_PREFIX', '{PUMP_TABLE_PREFIX_' . uniqid() . '}');
#QUOTE函数字符串包围常量
if (!defined('PUMP_QUOTE_STRING'))  define('PUMP_QUOTE_STRING', '{PUMP_QUOTE_' . uniqid() . '}');
#数据表字段类型，通常用于主键字段
if (!defined('COL_TYPE_INCREMENT')) define('COL_TYPE_INCREMENT',    'INCREMENT');
if (!defined('COL_TYPE_UUID'))      define('COL_TYPE_UUID',         'UUID()');
if (!defined('COL_TYPE_CUSTOM'))    define('COL_TYPE_CUSTOM',       'CUSTKEY');
#数据查询返回结果类型
if (!defined('PUMP_FETCH_NUM'))     define('PUMP_FETCH_NUM',        PDO::FETCH_NUM);
if (!defined('PUMP_FETCH_ASSOC'))   define('PUMP_FETCH_ASSOC',      PDO::FETCH_ASSOC);
if (!defined('PUMP_FETCH_BOTH'))    define('PUMP_FETCH_BOTH',       PDO::FETCH_BOTH);
if (!defined('PUMP_FETCH_OBJ'))     define('PUMP_FETCH_OBJ',        PDO::FETCH_OBJ);
#数据类型
if (!defined('PUMP_PARAM_NUM'))     define('PUMP_PARAM_NUM',        PDO::PARAM_INT);
if (!defined('PUMP_PARAM_STR'))     define('PUMP_PARAM_STR',        PDO::PARAM_STR);
if (!defined('PUMP_PARAM_LOB'))     define('PUMP_PARAM_LOB',        PDO::PARAM_LOB);
if (!defined('PUMP_PARAM_NULL'))    define('PUMP_PARAM_NULL',       PDO::PARAM_NULL);
if (!defined('PUMP_PARAM_BOOL'))    define('PUMP_PARAM_BOOL',       PDO::PARAM_BOOL);
#返回字段值大小写设置
if (!defined('PUMP_CASE_UPPER'))    define('PUMP_CASE_UPPER',       PDO::CASE_UPPER);
if (!defined('PUMP_CASE_LOWER'))    define('PUMP_CASE_LOWER',       PDO::CASE_LOWER);
#模板类型定义
if (!defined('VIEW_TYPE_SMARTY'))   define('VIEW_TYPE_SMARTY',      1);
if (!defined('VIEW_TYPE_DISCUZ'))   define('VIEW_TYPE_DISCUZ',      2);
if (!defined('VIEW_TYPE_PHP'))      define('VIEW_TYPE_PHP',         3);
#邮件发送设置
if (!defined('MAIL_TYPE_SMTP'))     define('MAIL_TYPE_SMTP',        1);
if (!defined('MAIL_TYPE_SENDMAIL')) define('MAIL_TYPE_SENDMAIL',    2);
if (!defined('MAIL_TYPE_MAIL'))     define('MAIL_TYPE_MAIL',        3);
if (!defined('SMTP_SECURE_NONE'))   define('SMTP_SECURE_NONE',      '');
if (!defined('SMTP_SECURE_TLS'))    define('SMTP_SECURE_TLS',       'tls');
if (!defined('SMTP_SECURE_SSL'))    define('SMTP_SECURE_SSL',       'ssl');
#session存储名称空间,当session设置使用cache存储驱动时被调用
if (!defined('DEFAULT_SESSION_NS')) define('DEFAULT_SESSION_NS',    'Session');
#sqlite数据库存放目录
if (!defined('DATABASE_DIR')) define('DATABASE_DIR', WEBLIB_DIR . '/Database');
#数据表导出数据存放目录
if (!defined('DBEXPORT_DIR')) define('DBEXPORT_DIR', WEBLIB_DIR . '/DbExport');

if (get_magic_quotes_gpc()) {
    function stripslashes_deep($value)
    {
        $value = is_array($value) ?
                    array_map('stripslashes_deep', $value) :
                    stripslashes($value);

        return $value;
    }

    $_POST = array_map('stripslashes_deep', $_POST);
    $_GET = array_map('stripslashes_deep', $_GET);
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}

error_reporting(E_ALL ^ E_NOTICE);
include(PUMP_DIR . '/SysFiles/SysFunc.php');
Config::loadConf();
ob_start();
header('content-type:text/html;charset=utf-8');
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Pragma: no-cache');
?>